package cn.ee.dfs.esb.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * 用户服务表 Entity
 *
 * @author TWJ
 * @date 2019-08-14 15:34:25
 */
@Data
@TableName("t_user_service")
public class UserService {

    public static final int APPLY_AGREE = 2;
    public static final int APPLY_DIS_AGREE = 3;

    public UserService() {
    }

    public UserService(Long userId, Long serviceId) {
        this.userId = userId;
        this.serviceId = serviceId;
    }

     public UserService(Long serviceId) {
        this.serviceId = serviceId;
    }



    public UserService(Integer applyStatus) {
        this.applyStatus = applyStatus;
    }


    /**
     * 用户服务id
     */
    @TableId(value = "userServiceId", type = IdType.AUTO)
    private Long userServiceId;

    /**
     * 用户id
     */
    @TableField("userId")
    private Long userId;

    /**
     * 服务Id
     */
    @TableField("serviceId")
    private Long serviceId;

    /**
     * ip白名单
     */
    @TableField("ips")
    private String ips;

    /**
     * 调用频率
     */
    @TableField("frequency")
    private Integer frequency;

    /**
     * 服务角色 ： 1提供方  2申请方
     */
    @TableField("role")
    private Integer role;

    /**
     * 申请状态 1待审核  2 同意  3不同意
     */
    @TableField("applyStatus")
    private Integer applyStatus;

    /**
     *
     */
    @TableField("updateTime")
    private Date updateTime;

    /**
     * 审核意见
     */
    @TableField("opinion")
    private String opinion;

    /**
     * 申请人
     */
    @TableField("applyPerson")
    private String applyPerson;

    /**
     * 审核人
     */
    @TableField("auditPerson")
    private String auditPerson;


    /**
     *
     */
    @TableField("applyTime")
    private Date applyTime;

    /**
     * 服务审核通过的 秘钥
     */
    @TableField("appKey")
    private String appKey;


    @TableField("spName")
    private String spName;// 系统名称

    @TableField("name")
    private String name;// 服务名称

    @TableField(exist = false)
    private String version;// 服务版本


    @TableField(exist = false)
    private String principal;//负责人


    @TableField(exist = false)
    private String status;// 服务状态 0注册 1发布 2注销 3停用

}